﻿// 修复后的handleSubmit函数 - 添加更多可能需要的参数
const handleSubmit = async (item: PaymentItem) => {
  console.log('提交审批:', item)
  
  if (!item.id) {
    showWarning('无法提交审批：缺少ID信息')
    return
  }

  // 验证必需字段
  if (!item.approvalTypeCode) {
    showError('无法提交审批：缺少审批类型代码')
    return
  }

  if (!item.requester) {
    showError('无法提交审批：缺少申请人信息')
    return
  }

  // 确认提交
  if (!confirm(`确定要提交"${item.title}"进行审批吗？`)) {
    return
  }

  try {
    // 构建更完整的请求参数
    const requestBody = {
      // 基础必需字段
      ApprovalType: item.approvalTypeCode,
      ApproveCode: item.id.toString(),
      CreatedBy: item.requester,
      
      // 业务相关字段
      Title: item.title || '',
      Description: item.usageDescription || '',
      Amount: item.paymentAmount || 0,
      
      // 可能需要的额外字段
      ProcessCode: '', // 可能需要流程代码
      TypeCode: item.approvalTypeCode, // 审批类型代码
      NodeCode: '', // 节点代码，可能需要
      ApproverCode: '', // 审批人代码，可能需要
      
      // 时间相关字段
      CreatedAt: new Date().toISOString(),
      
      // 状态字段
      State: 0, // 待审批状态
      
      // 其他可能需要的字段
      BusinessType: 'PAYMENT', // 业务类型
      Priority: 1, // 优先级
      IsActive: true, // 是否激活
      
      // 原始数据备份
      OriginalData: {
        id: item.id,
        title: item.title,
        paymentAmount: item.paymentAmount,
        paymentMethod: item.paymentMethod,
        usageDescription: item.usageDescription
      }
    }

    console.log('提交审批请求参数:', requestBody)

    // 调用审批流程创建接口
    const response = await fetch('http://localhost:5020/api/ExamineEngie/CreateFirstProcessDetail', {
      method: 'POST',
      headers: {
        'accept': 'text/plain',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(requestBody)
    })

    console.log('审批接口响应状态:', response.status)

    if (response.ok) {
      const result = await response.json()
      console.log('审批接口响应数据:', result)
      
      if (result.code === 200) {
        showSuccess('提交审批成功！')
        
        // 更新当前项的状态，隐藏提交审批按钮
        const currentItem = tableData.value.find(data => data.id === item.id)
        if (currentItem) {
          currentItem.approvalStatus = 1  // 更新为待审批状态
        }
        
        // 不重新加载数据，保持本地状态更新
      } else {
        showError(`提交审批失败：${result.message || '未知错误'}`)
        console.error('审批接口返回错误:', result)
        
        // 添加更详细的错误信息
        if (result.message && result.message.includes('流程详情创建失败')) {
          console.error('可能的原因：')
          console.error('1. 审批类型代码不正确:', item.approvalTypeCode)
          console.error('2. 缺少必要的流程配置')
          console.error('3. 数据库约束问题')
          console.error('4. 权限问题')
        }
      }
    } else {
      const errorText = await response.text()
      console.error('审批接口HTTP错误:', response.status, errorText)
      showError(`提交审批失败：HTTP ${response.status} - ${errorText}`)
    }
  } catch (error: any) {
    console.error('提交审批操作失败:', error)
    showError(`提交审批操作失败：${error.message || '请检查网络连接'}`)
  }
}
